Operational Transformation (OT) allows the creation of real-time collaborative applications that can synchronize changes from multiple users to a shared document or system state. Many computer software applications have functions or features that do not adhere to a set of transformation properties useful for collaborative interaction, and thus cannot support the undo operations as specified in the operational transformation algorithms.